package com.service;

import com.model.auto.AiQuestion;
import com.model.auto.vo.AiMessage;
import com.model.auto.vo.AiMessageRequest;
import com.model.auto.vo.AiMessageResponse;
import com.model.auto.vo.ChatResponse;
import reactor.core.publisher.Flux;

import java.io.IOException;
import java.util.List;

/**
 * @author zhaoyifan
 * @date 2023/12/13 17:00
 */
public interface IBaiduAiService {

    String callAi(List<AiMessage> aiMessageList) throws IOException;

    Flux<ChatResponse> callStream(List<AiMessage> aiMessageList) throws IOException;

    AiMessageResponse callAiV2(AiMessageRequest messageRequest, Long userId) throws IOException;

    List<AiQuestion> chatList(Long userId);

    void updateChatTitle(AiQuestion aiQuestion);

    void deleteChat(AiQuestion aiQuestion);
}
